SupabaseのCLIでローカル環境を構築する(Local Development)
こんにちは。データアナリティクス事業本部 サービスソリューション部の北川です。
Supabaseとは、firebaseの代替サービスとも言われるBaasです。データベースにRDBを採用しているのが特徴です。
今回は以下を参考に、supabase CLIを使用したローカル環境の構築してみました。
試してみた
インストールが必要なもの
- Git
- Docker
- Supabase CLI
環境構築
Supabase CLIのインストール
$ brew install supabase/tap/supabase
以下のURLからtokenを発行し、コピーします。
Supabaseにログインし、コピーしたtokenを貼り付けます。
$ supabase login You can generate an access token from https://app.supabase.io/account/tokens. Enter your access token: "your token" Finished supabase login.
任意のフォルダに移動します。
$ cd sample-project
Supabaseを初期化します。
$ supabase init
成功すると、supbase/config.tomlというファイルが作成されます。
Supabaseを起動します。startコマンドを実行することで、Dockerによって構築されます。そのため、一度目は時間がかかります。
$ supabase start
satusコマンドによって、環境のURLを確認することができます。
supabase status
表示されたAPI URLに移動すると、ローカルの管理画面が表示されます。Supabaseでは、studioと呼んでいます。
中身を確認すると分かる通り、storageなどのメニューにはまだ対応していないようです。こちらは随時、更新されていくと思います。
作成されたプロジェクトのサイドバーからSQL Editorに移動し、公式と同じクエリを実行します。右下の「RUN」コマンドから実行できます。
サイドバーからTableEditorに移動し、テーブルを確認します。
次に作成したテーブルを、ローカルのファイルに反映します。
supabase db commit employees
成功すると、supabase/migrationsフォルダにsqlファイルが追加されます。
Supabaseダッシュボードに、ローカルからデータを反映させます。supabase/seed.sqlに、以下のクエリを記述します。supabase/seed.sqlはsupabase init
コマンドを実行したときに自動作成されるようですが、自分の環境には作成されませんでした。ファイルがない場合は、seed.sqlを手動で作成します。
insert into public.employees (name) values ('Erlich Backman'), ('Richard Hendricks'), ('Monica Hall');
データベースを一度初期化して、テーブルを確認します。
supabase db reset
テーブルにデータが反映されました。
まとめ
今回は、SupabaseのCLIを使用してローカルの開発環境を構築してみました。基本的には手順通りに進めるだけでしたが、文字を追うのと実際に動かすのとでは、学びの質が違うなと感じました。まだ使用していないコマンドもあるので、今後も手を動かしながら試してみたいと思います。
ではまた。